package org.esti.service;

import org.esti.model.AppraisalTask;
import org.esti.model.KnowledgeField;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author Artem Loginov (logart)
 */

/**
 * Provide access to appraisal tasks and all action on it.
 */
public interface AppraisalTaskService {

    /**
     * Return map of knowledge field - topic mapping.
     * The keys of the map is knowledge fields.
     * The value is the list of Appraisal Tasks belonging to it
     *
     * @param levelId identity of level which appraisal task we want to show
     * @return map of knowledge field as keys and as list of appraisal task as value
     */
    Map<KnowledgeField, List<AppraisalTask>> getAppraisalTasksByLevelId(long levelId);

    Set<KnowledgeField> getAppraisalKnowledgeFields(long levelId);
}
